A database management system is a set of programs that enables users to store, modify, and extract information from a database, and provides users with tools to add, delete, access, modify, and analyze data stored in one location. Users can access the data by using query and reporting tools that are part of the database management system or by using application programs specifically written to access the data. The information from a database can be presented in a variety of formats. Most database management systems include a report writer program that enables users to output data in the form of a report. Many database management systems also include a graphics component that enables users to output information in the form of graphs and charts. Many different types of database management systems range from small systems that run on personal computers to huge systems that run on mainframes. Computerized library systems, flight reservation systems, and computerized parts inventory systems are examples of database applications. Database management systems typically support query languages, which are dedicated database languages that considerably simplify writing database application programs. Database languages also simplify the database organization as well as retrieving and presenting information from databases. A database management system provides facilities for maintaining database security and controlling data access, enforcing data integrity, managing concurrency control, and recovering the database after failures and restoring it from backup files.